﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
using JavaReflectionLib;

namespace TrainingDemo.Model
{
    public class TechnologyJavaReflection : TechnologyBridge
    {

        #region Private Property

        static TechnologyJavaReflection m_instance;

        #endregion


        #region Construction/Destruction/Init

        public TechnologyJavaReflection()
            : base(Const.TECHNOLOGY_JAVA_REFLECTION)
        {
	        
        }

        public static TechnologyJavaReflection getInstance()
        {
            if (m_instance == null)
            {
                m_instance = new TechnologyJavaReflection();
            }
            return m_instance;
        }

        #endregion


        #region Private methods


        #endregion


        #region Public methods

        public override int getChildren(IntPtr nHandle, ref string szChildrenName, int maxLength)
        {
            return ActionHandle.GetChildren(nHandle.ToInt32(), out szChildrenName, maxLength);
        }

        public override int getSupportedProperty(string szControlName, ref string szProperties, int maxLength)
        {
            return ActionHandle.GetSupportedProperty(szControlName, out szProperties, maxLength);
        }

        public override int getProperty(string szControlName, string szPropertyName, ref string szPropertyValue, int maxLength)
        {

            return ActionHandle.GetProperty(szControlName, szPropertyName, out szPropertyValue, maxLength);
        }

        #endregion



    }
}
